# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Maintainer: Daniel M. Capella <polyzen@archlinux.org>
# Contributor: Felix Kaiser <felix.kaiser@fxkr.net>

pkgname=python-pytest
pkgver=7.3.1
pkgrel=4
pkgdesc="Simple powerful testing with Python"
arch=('any')
license=('MIT')
url="https://pytest.org/"
depends=('python-iniconfig' 'python-packaging' 'python-pluggy')
makedepends=('python-build' 'python-installer' 'python-setuptools'
             'python-wheel')
checkdepends=('python-argcomplete' 'python-attrs' 'python-hypothesis'
              'python-nose' 'python-requests' 'python-xmlschema'
              # Unlisted, but actually used. Check again after a while:
              'lsof' 'python-decorator' 'python-docutils' 'python-jinja'
              'python-numpy' 'python-pexpect' 'python-pygments'
              'python-pytest-xdist' 'python-twisted')
source=("https://files.pythonhosted.org/packages/source/p/pytest/pytest-$pkgver.tar.gz")
sha256sums=('434afafd78b1d78ed0addf160ad2b77a30d35d4bdf8af234fe621919d9ed15e3')
b2sums=('8cabc475056000e393538c6c52e2ee5a9af6c57831c6aba82e3107ae44f88b63a68b37339842eebfa318bd27d4bf5e34959b72052d4646cc8682c84f131f98e7')

# Remove dep on setuptools_scm
prepare() {
  cd pytest-$pkgver
  sed -i "/^\[metadata\]/a version = $pkgver
  /setuptools-scm/d" setup.cfg
  sed -i '/setuptools-scm\|wheel/d
  /\[tool.setuptools_scm\]/,/^$/d' pyproject.toml
}

build() {
  cd pytest-$pkgver
  python -m build --wheel --skip-dependency-check --no-isolation
}

check() {
  cd pytest-$pkgver
  python -m venv --system-site-packages test-env
  test-env/bin/python -m installer dist/*.whl
  # https://github.com/pytest-dev/pytest/issues/10042
  test-env/bin/python -m pytest -o xfail_strict=False
}

package() {
  cd pytest-$pkgver
  python -m installer --destdir="$pkgdir" dist/*.whl

  # Symlink license file
  local site_packages=$(python -c "import site; print(site.getsitepackages()[0])")
  install -d "$pkgdir"/usr/share/licenses/$pkgname
  ln -s "$site_packages"/pytest-$pkgver.dist-info/LICENSE \
    "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
